1. Field of the Invention
This invention relates to a system and a method for dynamically changing an execution program in order to improve reliability of a computer system and, more particularly, to a system and a method capable of changing a module, to which no debugging information has been applied yet, to an additional load module which has been debugged, without stopping the former module.
2. Description of the Related Art
The current large scale software, which is to be applied to an OS (operating system), a DBMS (database management system), a transaction processing system, and the like has a large number of programs covering several millions of lines so as to be adapted to a user, a system administrator, or an advanced processor device.
However, a method for debugging the programs covering several millions of lines has not yet been established in a technology for developing the large scale software. For this reason, even when the system is operated, programs including a number of bugs are continuously executed.
These bugs are usually found at proper time, and debugging information is prepared. A program is created based on the debugging information and applied to programs which are to be debugged. The debugged programs are compiled/linked to generate a load module. Conventionally, this load module is changed to another module to which no debugging information has been applied, after the latter module is stopped.
In the processing system such as the OS, DBMS, and transaction processing system, which is executed for a long time, a load module is hardly ever stopped. Therefore, there are not many opportunities to change the load module to another one. Even when a new module is created based on debugging information, it is difficult to apply the new module.
Since a system tends to operate without stopping from now on, it is expected that the above-described problem becomes serious more and more. For example, if a fault-tolerant system is used, system down due to a trouble of hardware can be reduced, but system down due to a bug of software cannot be reduced. Furthermore, a bug of software becomes serious more and more as a processing system is highly advanced and operated without stopping.